The present disclosure generally relates to accessories that interoperate with computing devices, and in particular to the booting of such accessories.
In recent years, the number of computing devices that a user can use to perform functions such as media storage and playback, networking, web browsing, email, word processing, data storage, application execution, and/or any other computing or communication functions have grown dramatically. Computing devices that can perform these functions range from desktop computers, gaming consoles, media servers/players, to portable computing devices such as laptops, netbooks, tablets, mobile phones, personal digital assistants (PDAs), portable media players/readers, portable gaming devices, and the like. Examples of computing devices include various iPhone® and iPod® models manufactured and sold by Apple Inc., assignee of the present application, as well as other electronic devices made and sold by other manufacturers and distributors under their respective brand names.
Along with the growth of computing devices, accessories have also been created for use with the computing devices. Such accessories can communicate with a computing device using one or more connectors, ports, and/or communication interfaces. Such accessories can be used to control features of the computing device or be used by the computing device to interact with users and/or the environment. When an accessory is turned on or initially receives power, the accessory may execute a boot sequence to load accessory software that the accessory uses to interoperate with a computing device.
However, the accessory software of the accessory may not always be compatible with the software that is running on the computing device. As a result, there may be instances when an accessory is prohibited from interoperating with the computing device due to software incompatibility between the accessory and the computing device. For example, suppose a user has an accessory such as a speaker dock that can be docked with different computing devices such as a portable media player (e.g., an iPod®) or a mobile phone (e.g., an iPhone®). The user may have a mobile phone that is running one version of a mobile device software which is compatible with the software of the speaker dock. The same user may have a portable media player that is running a different version of the mobile device software, which may be incompatible with the software of the speaker dock. In such a scenario, the user may be prohibited from using the portable media player with the speaker dock because of the software incompatibility between the two devices.
One way to eliminate such software incompatibility is to ensure that the accessory (speaker dock in our example above) and the mobile phone and the portable media player are all updated with a version of software that is compatible with each other. However, this is cumbersome and requires the user to constantly ensure that all his devices have compatible software versions. In instance where the user had many devices, such a scheme would be highly impractical and greatly diminishes the user experience with these devices.